﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once
#include "IMepElement.h"
#include "IExternalData.h"
namespace gmep
{
    class GMEP_MODEL_BASE_INTERFACE_EXPORT IMepType : public gcmp::IExternalData, public IMepElement
    {
        DEFINE_CAST_DERIVED2(gmep::IMepType, gcmp::IExternalData, gmep::IMepElement)
    public:
        /// \brief 析构函数
        virtual ~IMepType() {}

    public:
        virtual const gcmp::IElement *GetElement() const override;
        virtual gcmp::IElement* GetElement() override;
        virtual gap::IExtraDataComponent* GetExtraDataComponent() override { return nullptr; };
        virtual const gap::IExtraDataComponent* GetExtraDataComponent() const override { return nullptr; };
        virtual bool RegistExtraDataComponent() override { return false; };

    };
}
